package day20170504.homework;

/**
 * 票源类
 * @author 罗智壕-13424431416
 *
 * 2017年5月4日
 */
class Ticket extends Thread{
	private Integer count;
	public Ticket(int c){
		count = c;
	}
	
	/**
	 * 购票操作
	 * @return
	 */
	public synchronized String sell(String name){
		if(count > 0){
			count--;
			return name+"购买成功.剩余："+count;
		}
		System.out.println("已售完...");
		return null;
	}
}

/**
 * 购物线程类
 * @author 罗智壕-13424431416
 *
 * 2017年5月4日
 */
class Buyer extends Thread{
	private Ticket ticket;
	public Buyer(Ticket ticket){
		this.ticket = ticket;
	}
	
	@Override
	public void run() {
		while(true){
			String result = ticket.sell(getName());
			if(null == result)
				break;
			System.out.println(result);
			try {
				sleep(1);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
}

/**
 * 测试
 * @author 罗智壕-13424431416
 *
 * 2017年5月4日
 */
public class ThreadTest03 {
	public static void main(String[] args) {
		Ticket ticket = new Ticket(10);
		Buyer buyer = new Buyer(ticket);
		
		buyer.start();
	}
}
